Skip to content

Add a Spectre.Console CLI (bld) for the Build submodule - #1

Merged
Antaris merged 3 commits into
mainfrom
cursor/build-submodule-cli-4329
Aug 16, 2026
Merged

Add a Spectre.Console CLI (bld) for the Build submodule#1
Antaris merged 3 commits into
mainfrom
cursor/build-submodule-cli-4329

Conversation

@Antaris

@Antaris Antaris commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Adds bld, a cross-platform C# CLI for adding, updating, repairing, and running the Ingenium Build git submodule ([email protected]:IngeniumSE/Build.git) in a parent repository.

A bare bld (no command) runs build after verifying that the Build submodule is initialized. If it is missing, the CLI stops and tells you to run bld init. bld --help and bld --version are unchanged.

Commands

  • bld — same as bld build (Default Cake target), after an init check
  • bld init — add the submodule, defaulting to the latest tag
  • bld init --tag v1.2.3 — add the submodule pinned to a specific tag, branch, or commit
  • bld update — move an existing submodule to the latest tag
  • bld update --tag v1.2.3 — pin an existing submodule to a specific version
  • bld status — show path, URL, commit, current tag, and whether it is up to date
  • bld tags — list tags advertised by the Build remote
  • bld repair --strategy stash — stash local submodule changes, then restore the parent-recorded commit
  • bld repair --strategy reset --yes — discard local changes and restore the parent-recorded HEAD
  • bld repair --strategy reinit --tag v1.2.3 --yes — delete and clone the submodule again at a tagged version
  • bld build [TARGET] — run the Cake host in apps/Build (same path ./build.sh uses)
  • bld extension [NAME] — scaffold build-extensions/{Name}BuildExtensions for the Build host wildcard import

Existing build / Build submodule paths are detected automatically. init, update, and repair stage .gitmodules and the gitlink, but do not create a commit.

Installer foundation

scripts/install.sh and scripts/install.ps1 publish a self-contained bld binary and place it on PATH. The project is also packable as a .NET global tool (ToolCommandName=bld).

Validation

dotnet test — 58 passing tests, including default-command routing and the pre-build submodule guard.

Open in Web Open in Cursor 

cursoragent and others added 3 commits August 16, 2026 11:11
Introduce buildcli with init, update, status, and tags commands so parent
repos can add Ingenium Build and pin it to the latest or a specific tag.
Include install scripts, CI, and git-backed tests.

Co-authored-by: Matthew Abbott <[email protected]>
Repair can stash local submodule changes, reset to the parent-recorded
HEAD, or fully re-initialize at a tagged version. Build invokes the Cake
host in apps/Build. Extension scaffolds the build-extensions layout the
Build submodule already imports.

Co-authored-by: Matthew Abbott <[email protected]>
A command-less `bld` now routes to `build`, but only after checking that
the Build submodule is registered and initialized. Help and version still
work without starting a build.

Co-authored-by: Matthew Abbott <[email protected]>
@cursor cursor Bot changed the title Add a Spectre.Console CLI for the Build submodule Add a Spectre.Console CLI (bld) for the Build submodule Aug 16, 2026
@Antaris
Antaris marked this pull request as ready for review August 16, 2026 11:28
@cursor

cursor Bot commented Aug 16, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@Antaris
Antaris merged commit f7f0c9e into main Aug 16, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants